Opet databaze

Otázka od: Václav Kučera

2. 9. 2002 21:50

Dd, mam nekolik otazek:

1) Program mi pise chybu "Circular datalinks are not allowed" - pri
vykonavani tohoto useku programu - kdyz vytvarim ten novy soubor. Cim to
muze byt? Zadne takove definice tam totiz nemam, ale myslim, ze mi to dela
ten CreateDataSet. Pole, co v nem jsou definovana, jsou bud typu String,
nebo Integer.

begin
  if not FileExists('c:\Data.dbf') then
  begin //V tomhle bloku je ten problem
    FileCreate('c:\Data.dbf');
    DataSet.CreateDataSet;
    DataSet.SaveToFile();
  end
  else DataSet.LoadFromFile();
end;


2) Jak se da smazat polozka z databaze primo ze souboru? Pri DataSet.Delete
se totiz pouze oznaci jako smazana, ale fyzicky se nesmaze. Nebo jak se da
ta smazana polozka znovu ukazat? Je tam nekde vlastnost jako ShowDeleted?

Odpovedá: Kalhous Zdenek

3. 9. 2002 6:48

On 2 Sep 2002 at 22:32, Václav Kučera wrote:
> 2) Jak se da smazat polozka z databaze primo ze souboru? Pri
> DataSet.Delete se totiz pouze oznaci jako smazana, ale fyzicky se
> nesmaze. Nebo jak se da ta smazana polozka znovu ukazat? Je tam nekde
> vlastnost jako ShowDeleted?
Podle predchoziho dotazu se jedna o dbf. A tam to je standardni
vlastnost ze zaznamy se fyzicky nerusi ale pouze oznacuji jako
zrusene. V delphi nevim ale mozna pomuze tip jaka slova hledat: v
XBase jazycich se zobrazovani neplatnych zaznamu nastavuje treba
prikazem SET DELETED [ON|OFF] a zrusene zaznamy se fyzicky
vymazou ze souboru prikazem PACK (vyzaduje exclusive open!).